
var calendario;
$(document).ready(function() {
    
    $('.usuario').text(getUsuario());

    //Esconde input text do calendario
    $('#date-input').parent().hide();

    obterCalendario();

    function atualizarCalendario() {
        $("#date-input").date("setOption", "onSelect", function(date) {
            var selecionado;
            calendario.forEach(function(dataCalendario) {
                if (Date.parse(dataCalendario.data) == Date.parse(date))
                    selecionado = dataCalendario;
            });

            if (selecionado)
                $('#resumoData').html('<p>' + selecionado.resumo + '</p>');
            else
                $('#resumoData').html('');
        });

        $("#date-input").date("setOption", "beforeShowDay", function(date) {

            var achou = false;
            var tipo;
            var resumo;
            calendario.forEach(function(dataCalendario) {
                if (Date.parse(dataCalendario.data) == date.getTime()) {
                    tipo = dataCalendario.tipo;
                    resumo = dataCalendario.resumo;
                    achou = true;
                }
            });
            if (achou) {
                return [true, tipo, resumo];
            } else
                return [true, '', ''];
        });

        $("#date-input").date("addMobileStyle");
    }

    function obterCalendario() {

        if (!calendario) {
            var request = $.ajax({
                type: "GET",
                url: "http://" + webservice + "/calendario/" + getHash(),
                dataType: 'json'
            });
            request.done(function(data) {
                if (data && !data.expirou) {
                    calendario = data.values;
                    atualizarCalendario();
                } else {
                    mostrarAlerta('erro', 'Sessão Expirada', 'Seu Tempo de acesso expirou!', 'index.html');
                }
            });
            request.fail(function(jqXHR, status, exception) {
                mostrarAlerta('erro', 'Erro no acesso', 'Ocorreu um erro ao acessar o servidor.', 'index.html');
            });
        } else {
            atualizarCalendario();
        }
    }
});